package vista;


import java.util.Vector;
import javax.swing.table.AbstractTableModel;
import modelo.Jugador;


//import modelo.Accion;

@SuppressWarnings("serial")
public class VistaModeloTabla extends AbstractTableModel {

	private static String[] titulos = {"Record", "Nombre", "Nivel"};;		
	private Vector<Jugador> vNivel1 = new Vector<Jugador>();
	private Vector<Jugador> vNivel2= new Vector<Jugador>();
	private Vector<Jugador> vNivel3= new Vector<Jugador>();
	
	int tipo;
	String aux;
	Double aux2;
	
	@SuppressWarnings("static-access")
	public VistaModeloTabla(Vector<Jugador> vNivel1, int tipo) {
		
		super();		
		this.vNivel1=vNivel1;
		this.fireTableDataChanged();
		this.tipo=tipo;
		
		if (this.tipo == 0){
			
			this.titulos = new String [3];
			titulos[0]= new String("Record");
			titulos[1]= new String("Nombre");
			titulos[2]= new String("Nivel");
			
		}
		
	}

	@SuppressWarnings("static-access")
	public VistaModeloTabla(Vector<Jugador> vNivel2, int tipo, String aux) {
		
		super();		
		this.vNivel2=vNivel2;
		this.fireTableDataChanged();
		this.tipo=tipo;
		this.aux= aux;
		
		if (this.tipo == 1){
			
			//public ModeloReporteVentas(String orden, String producto, int cantidad, double total) {			
			this.titulos = new String [3];
			titulos[0]= new String("Record");
			titulos[1]= new String("Nombre");
			titulos[2]= new String("Nivel");
			
		}	

	}
	
	@SuppressWarnings("static-access")
	public VistaModeloTabla(Vector<Jugador> vNivel3, int tipo, Double aux2) {
		
		super();		
		this.vNivel3=vNivel3;
		this.fireTableDataChanged();
		this.tipo=tipo;
		this.aux2= aux2;
		
		if (this.tipo == 2){
			
			//public ModeloReporteVentas(String orden, String producto, int cantidad, double total) {			
			this.titulos = new String [3];
			titulos[0]= new String("Record");
			titulos[1]= new String("Nombre");
			titulos[2]= new String("Nivel");
			
		}	

	}


	@Override
	public int getColumnCount() {		
		return titulos.length;
	}

	
	public int getRowCount() {		
		//return acciones.size();
		int can=0;
		
		if (tipo == 0){
			can= vNivel1.size();
		}
		
		if (tipo == 1){
			can= vNivel2.size(); 
		}
		
		if (tipo == 2){
			can= vNivel3.size(); 
		}
		
		return can;
		
	}
	
	
	@Override
	public Object getValueAt(int rowIndex, int columnIndex) {
		
		if (this.tipo==0){
			
			Jugador modelo = vNivel1.get(rowIndex);
			switch (columnIndex) {						
				case 0:	return modelo.getRecord();					
				case 1: return modelo.getNombre();
				case 2: return Integer.toString(modelo.getNivel());					
												
			}
			
		}
		
		if (this.tipo==1){
			
			Jugador modelo = vNivel2.get(rowIndex);
				switch (columnIndex) {			
				
				case 0:	return modelo.getRecord();					
				case 1: return modelo.getNombre();
				case 2: return Integer.toString(modelo.getNivel());					
													
				}
		}
		
		if (this.tipo==2){
			
			Jugador modelo = vNivel3.get(rowIndex);
				switch (columnIndex) {			
				
				case 0:	return modelo.getRecord();					
				case 1: return modelo.getNombre();
				case 2: return Integer.toString(modelo.getNivel());					
													
				}
		}

		
		return null;
	}

	
	public String getColumnName(int column) {
		return titulos[column];
	}

	
}
